Because they are programmable, FPGAs can be configured (i.e., programmed) to support different signal and data processing applications. In order to support different types of applications, FPGAs can be designed with different types of programmable I/O buffers, each different type of programmable buffer being designed to handle the voltage swings and common-mode voltages associated with different I/O standards.